|
Chapter 1 Windows NT Overview
- Using The Registry Editor In Read-Only Mode
- Finding A Registry Key
- Managing A Remote Computers Registry
- Saving A Registry Subkey
- Changing The Size Of The Paging File
- Creating Multiple Paging Files On Separate Disks
- Removing A Paging File
- Starting A Process With A Higher Priority
- Changing Foreground Performance Relative To Background
- Changing A Processs Base Priority
Administrators Notes...
This chapter introduces the key core components of Windows NT and provides examples on how to make changes to them. An in-depth technical description of each component has been avoided, because this information is not needed in the day-to-day management of a Windows NT system.
Windows NT Architecture
Windows NT has been designed in a modular form; the operating system as a whole is made up of separate software components, with each component managing a separate function of the operating system. This modular configuration ensures that future upgrades and extensions to the operating system can be made without having to change the entire operating system. The separate modules of the operating system do not share any program code, and all communication between the modules is done via system calls.
The Windows NT architecture is further divided into two separate sections: kernel mode and user mode. Kernel mode permits direct access to the computer hardware and is the mode that key components of the operating system run in. User mode has no direct access to the computer hardware and is a less-privileged mode than kernel mode. Applications and some Windows NT subsystems run in user mode.
Hardware Abstraction Layer
To enable Windows NT to run on computer systems with different architectures, a hardware abstraction layer (HAL) is used at the lowest level of the operating system. The HAL hides the actual physical characteristics of the computer hardware and presents a uniform interface to the high-level components of Windows NT.
Different HALs are provided by either Microsoft or the computer hardware manufacturer. The HAL operates in kernel mode.
Microkernel
The microkernel can be considered the core component of Windows NT. The microkernel is responsible for scheduling all jobs on the processor and controls all processors in a multiprocessor system. Because the microkernel is responsible for scheduling all activity, it cannot be removed from main memory; in other words, the microkernel cannot be paged out.
Several other software components make up the basic operating system. More details on these and the whole Windows NT architecture can be found in the Windows NT Resource Kit.
Windows NT Workstation And Server
Both Windows NT Workstation and Server share the same core operating system code. In fact, during the startup of a Windows NT system, the Registry configuration is checked by the operating system to determine if the system is to be run as a workstation or a server.
Windows NT Workstation is designed to be used as a powerful, secure, multitasking desktop client. Windows NT Server, on the other hand, is aimed at providing a network operating system and is supplied with enhanced administration tools to accomplish this. More details about the differences between Windows NT Workstation and Server can be found with the documentation and licenses that ship with the products.
Virtual Memory System
Windows NT uses a 32-bit, demand-paging virtual memory system to manage the available memory. This provides each process with 4 GB of virtual memory; of this, 2 GB is reserved for the operating system, and 2 GB is available for use by the process.
The memory is defined as virtual because, by using disk space, the operating system allocates more memory to a process than is physically available. In other words, 32 MB of physical memory may be installed in your computer, but the virtual memory system will allow the full 2 GB of virtual memory to be used by your process.
The virtual memory system is based on a demand-paging technique, where data is moved from main memory to disk when not in use and paged back into physical memory when required by the process. The removal of memory pages to the paging file is only done when the Virtual Memory Manager needs to free memory for other processes to use, so if the system never runs short of memory, paging will never occur.
The temporary area of disk space that is used to hold the data moved from main memory is known as the paging file. The paging file is created at an initial size and will grow as required up to the maximum size set. However, whenever the paging file grows, a small performance penalty is incurred. The preferred setup is to have the initial size of the paging file configured so that it doesnt need to grow.
Multiple paging files can be created on separate physical disks to increase the performance of the memory management system.
Process Priorities
Windows NT uses 31 process priorities to schedule processes to run. The priorities range from 1, which is the lowest priority, to 31, which is the highest. The actual priority at which a process runs is not static but is dynamically adjusted by Windows NT, to ensure optimum response. The dynamic adjustment of the process priority can be ± 2 from the processs base priority class. The base priority class is established when the process is started and can be changed once a process is running by using the Task Manager.
Four base priorities are available, which cover the 31 priority levels. These are shown in Table 1.1, along with the priority ranges they cover. At the extreme ends of the priority ranges, such as priority 6, youll notice an overlap. By default, processes are started at the normal priority classpriority 7.
Table 1.1 Base priorities.
|
| Priority Class
| Priority Range
|
|
| Idle
| 16
|
| Normal
| 610
|
| High
| 1115
|
| Realtime
| 1631
|
|
Care must be taken when running applications at the realtime priority class. Because the application would then be running at the same priority as the operating system, the operating system could be inhibited from functioning properly.
|